/**
 * 菜单
 */
// interface主要用于定义对象的类型，定义对象中包含的属性和方法，但是并不提供属性和方法的具体实现。
// class可以实现interface，不同的是class是用于实现具体的对象，而interface是用于定义对象的类型。
interface Menu {
    id: number;
    path: string;
    navName: string;
    icon?: string;
    component?: string;
    subNavList?: Menu[];
}

// 可选：添加JSDoc注释增强可维护性
interface Nav {
    /** 路由唯一标识 */
    id?: number;
    /** 菜单显示名称 */
    navName: string;
    /** 路由路径 (需以/开头) */
    path: string;
    /** 组件路径或布局组件名 */
    component: string;
    /** 父级ID (null表示顶级路由) */
    parentId: number | null;
    /** 图标类名/地址 */
    icon: string;
    /** 状态码 (0-禁用 1-启用) */
    status: number;
    /** 排序权重 */
    sort: number;
}

